﻿Imports Logica

''' <summary>
''' User control Departamentos
''' </summary>
''' <remarks>Creado por: David Murillo, Creado: 12/06/2010, Modificado: 30/06/2010</remarks>
Public Class Departamentos

    Private ucRegistrar As New RegistrarDepartamento
    Private ucBuscar As New BuscarDepartamento

    ''' <summary>
    ''' Se ejecuta cuando el user control se carga por primera vez.
    ''' </summary>
    ''' <param name="sender">El objeto que lo envía</param>
    ''' <param name="e">Argumentos del evento</param>
    ''' <remarks>Creado por: David Murillo, Creado: 12/06/2010, Modificado: 30/06/2010</remarks>
    Private Sub Departamentos_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim ubicacion As New Point(152, 0)

        'Buscar
        ucBuscar.Visible = False
        ucBuscar.Location = ubicacion

        ' Registrar
        ucRegistrar.Visible = False
        ucRegistrar.Location = ubicacion

        ' Agrega los controles
        Me.Controls.Add(ucBuscar)
        Me.Controls.Add(ucRegistrar)


        If Not Gestor.usuarioTienePermiso(Gestor.usuarioActual("identificacion"), 26) Then
            tvDepartamentos.Nodes("ndBuscar").Remove()
        End If

        If Not Gestor.usuarioTienePermiso(Gestor.usuarioActual("identificacion"), 27) Then
            tvDepartamentos.Nodes("ndRegistrar").Remove()
        End If
    End Sub
    ''' <summary>
    ''' Se ejecuta despues de seleccionar un objeto en el treeview
    ''' </summary>
    ''' <param name="sender">El objeto que lo envía</param>
    ''' <param name="e">Argumentos del evento</param>
    ''' <remarks>Creado por: David Murillo, Creado: 12/06/2010, Modificado: 30/06/2010</remarks>
    Private Sub tvDepartamentos_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles tvDepartamentos.AfterSelect
        Dim ubicacion As New Point(152, 0)

        Select Case e.Node.Name
            Case "ndBuscar"
                mostrarControl(ucBuscar)

            Case "ndRegistrar"
                mostrarControl(ucRegistrar)

        End Select
    End Sub
    ''' <summary>
    ''' Sirve para esconder los user control que no vamos a utilizar
    ''' </summary>
    ''' <param name="p_uc">El user control que se quiere esconder</param>
    ''' <remarks>Creado por: David Murillo, Creado: 12/06/2010, Modificado: 30/06/2010</remarks>
    Public Sub mostrarControl(ByVal p_uc As UserControl)
        'Escondemos todas las pantallas de configuración
        For Each uc As Control In Me.Controls
            If TypeOf uc Is UserControl Then
                uc.Visible = False
            End If
        Next

        'Mostramos la que se pidió
        p_uc.Visible = True
    End Sub
End Class
